package com.mashuai.utils.toolkit.core.msLog.annotation;

import org.springframework.stereotype.Component;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 加在方法上，主要监测某个方法执行的时间。
 * 可以通过配置 ms.log.open-print = true/false，进行日志开启或关闭
 */
@Component
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface MsExecuteTime {
    //备注信息，打印在最后面
    String msg() default "";

    //方法执行超出多少毫秒打印日志，-1表示直接打印
    int limit() default -1;

}
